--表代替类
Student = {
--变量
name="小明",
age =18,
sex =true,

--函数
F0 = function()
	print("函数0");
	print(Student.age);-- 第一种类内函数使用类变量:声明是谁
end
}

Student.F0();

--类外声明函数
Student.F1 = function()
	print("函数1");
end
Student.F1();

function Student.F2(s)
	print("函数2".."-"..s.age);--第二种类内函数使用类变量:传入自己
end
Student.F2(Student);


--还可以使用官方提供的方法声明函数 : 冒号声明函数的时候相当于默认带一个slef参数 self不是this
function Student:F3()
	print("函数3".."-"..self.name);
end
Student:F3(); --冒号使用函数的时候 会把调用者当第一个参数传进去
Student.F3(Student);--如果用点去调用冒号声明的函数的话 那么必须主动传入自己

--所以可以这么玩
function Student.F4(s,m)
	print("函数4".."-"..s.age..tostring(m));--第二种类内函数使用类变量:传入自己
end
Student:F4("默认会把调用者传入 所以这段话是给m的");